$(function () {
    load();
    userSelect()
});
let exportList=[]
function load() {
    $('#exampleTable')
        .bootstrapTable(
            {
                method: 'GET', // 服务器数据的请求方式 get or post
                url: "/jzweb/eclassresource/list", // 服务器数据的加载地址
                //	showRefresh : true,
                //	showToggle : true,
                //	showColumns : true,
                iconSize: 'outline',
                toolbar: '#exampleToolbar',
                striped: true, // 设置为true会有隔行变色效果
                dataType: "json", // 服务器返回的数据类型
                pagination: true, // 设置为true会在底部显示分页条
                singleSelect: false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize: 10, // 如果设置了分页，每页数据条数
                pageNumber: 1, // 如果设置了分布，首页页码
                //search : true, // 是否显示搜索框
                showColumns: false, // 是否显示内容下拉框（选择显示的列）
                sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                queryParamsType: "",
                // //设置为limit则会发送符合RESTFull格式的参数
                queryParams: function (params) {
                    let queryParams = {
                        pageNum: params.pageNumber,
                        pageSize: params.pageSize,
                        classname: $('#classname').val(),
                        name: $('#name').val(),
                        mobile: $('#mobile').val()
                    };
                    return queryParams;
                },
                responseHandler: function (res) {
                    if (res.code !== '0') {
                        layer.msg('查询失败');
                        console.log(res.msg)
                        return false
                    }
                    return {
                        "total": res.data.total,//总数
                        "rows": res.data.records   //数据
                    };
                },
                formatNoMatches: function () {
                    return '未查询到班级信息，请重试';
                },
                onCheck: function (row) {
                    exportList.push(row.id)
                    console.log(exportList)
                },
                onUncheck: function (row) {
                    // 在这里可以根据需要处理数据，比如从某个数据集合中移除它
                    var index = exportList.indexOf(row.id); // 假设yourDataArray是你的数据源
                    if (index > -1) {
                        exportList.splice(index, 1); // 从数组中移除对应的对象
                    }
                    console.log(exportList)
                },
                onCheckAll: function (rows) {
                    for (var i = 0; i < rows.length; i++) {
                        let row = rows[i]
                        exportList.push(row.id);
                        //alert(rows[i].ResultName)
                    }

                },
                onUncheckAll: function (row) {
                    for (var i = 0; i < row.length + 1; i++) {
                        exportList.splice(i, row.length);
                        //alert(rows[i].ResultName)
                    }
                    exportList = []
                    console.log(exportList)
                },
                columns: [
                    {
                        checkbox: true
                    },
                    {
                        field: 'name',
                        title: '班级名称'
                    },
                    {
                        field: 'stuNum',
                        title: '学生总人数'
                    },
                    {
                        field: 'createrName',
                        title: '创建人'
                    },
                    {
                        field: 'mobile',
                        title: '手机号'
                    },
                    {
                        field: 'createrDate',
                        title: '创建日期',
                    },
                    {
                        title: '操作',
                        field: '',
                        align: 'center',
                        formatter: function (value, row, index) {
                            let e = `<a class="btn btn-primary btn-sm" href="#" mce_href="#" title="编辑" onclick="edit('${row.name},'+'${row.id}')">编辑</a>`;
                            let d = `<a class="btn btn-danger btn-sm" href="#" title="删除" mce_href="#" onclick="remove('${row.id}')">删除</a>`;
                            let s = `<a class="btn btn-success btn-sm" href="#" title="详情" mce_href="#" onclick="resetPwd('${row.id}')">详情</a>`;
                            return e + s + d;
                        }
                    }]
            });
}

function reLoad() {
    $('#exampleTable').bootstrapTable('refresh');
}

/**
 * 查询班级
 * */
let userSelect = () => {
    $.ajax({
        type: "GET",
        url: "/jzweb/eclassresource/classList",
        success: function (data) {
            if (data.code === '0') {
                $("#classname").append('<option value="">请选择班级名称</option>');
                data.data.map((item) => {
                    $("#classname").append(`<option value=${item} data-school=${item}>${item}</option>`);
                })
                layui.form.render('select');
            }

        }
    });
}

/**
 * 导出
 * */
function handleexportList() {
    if (exportList.length == '0') {
        layer.msg('请勾选需要导出的数据')
        return false;
    }
    window.location.href = `/jzweb/eclassresource/exportClass?ids=${exportList.join(',')}`
}
// const exports = () => {
//     console.log('导出')
//     layer.confirm('确定要导出吗？', {
//         btn: ['确定', '取消']
//     }, function (layero) {
//         $.ajax({
//             type: 'get',
//             url: `/jzweb/eclassresource/export`,
//             success: function (r) {
//                 var blob = new Blob([r], {type: 'application/vnd.ms-excel'});
//                 console.log(blob)
//                 // URL.createObjectURL 用于创建 一个指向该对象的URL，该对象只能是 File 对象、Blob对象或者 MediaSource 对象。​
//                 // 这个URL的生命仅存在于它被创建的这个document里
//                 var objectUrl = URL.createObjectURL(blob);
//
//                 // 创建隐藏的可下载链接 ，a表示链接
//                 var alink = document.createElement("a");
//                 alink.href = objectUrl;
//                 alink.download = '报表名称'; //文件名
//                 // 触发点击
//                 alink.click();
//                 // 释放
//                 window.URL.revokeObjectURL(objectUrl);
//                 layer.msg('导出成功');
//                 reLoad();
//                 layer.close()
//                 // if (r.code==='0') {
//                 //     layer.msg('导出成功');
//                 //     reLoad();
//                 // }else{
//                 //     layer.msg('导出失败');
//                 // }
//             }
//         });
//     })
// }

/**
 * 添加班级跳转
 * */
function add() {
    let index = layer.open({
        type: 2,
        title: '添加班级',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['100%', '100%'],
        content: `/jzweb/eclassresource/addclass/addclass`,// iframe的url
    });
    layer.full(index);
}

/**
 * 编辑数据跳转
 * */
function edit(row) {
    var classeditname = row.split(',')[0]
    var classId = row.split(',')[1]
    layer.open({
        content: `
           <div class="form-box">
               <label>班级名称：</label>
               <div class="layui-input-inline">
                  <input id="classeditname" name="name" value="${classeditname}" type="text" required lay-verify="required" class="form-control" placeholder="请输入姓名">
               </div>
           </div>
        `,
        btn: ['确认', '取消']
        , yes: function (index, layero) {
            $.ajax({
                type: 'get',
                url: `/jzweb/eclassresource/updateClass`,
                data: {
                    classId: classId,
                    classname: $('#classeditname').val()
                },
                success: function (r) {
                    if (r.code == 0) {
                        console.log(r)
                        reLoad()
                    }
                }
            });
            //按钮【按钮一】的回调
            console.log('确认')
            layer.close(index)
        }
    });
}


/**
 * 删除
 * id (根据id删除选项)
 * */
function remove(id) {
    layer.confirm('确定要删除选中的记录？', {
        btn: ['确定', '取消']
    }, function () {
        $.ajax({
            type: 'get',
            url: `/jzweb/eclassresource/delete?classId=${id}`,
            success: function (r) {
                if (r.code === '0') {
                    layer.msg('删除成功');
                    reLoad();
                } else {
                    layer.msg('删除失败');
                }
            }
        });
    })
}

/**
 * 详情页跳转
 * */
function resetPwd(id) {
    sessionStorage.setItem('xqId', id)
    let index = layer.open({
        type: 2,
        title: '班级详情',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['100%', '100%'],
        content: `/jzweb/eclassresource/classdetail/classdetail`// iframe的url
    });
    layer.full(index);
}
